package com.bluebridgecup.javabasics;

import java.util.Scanner;

public class SelectionSort {
    public static void main(String[] args) {
        // 创建一个 Scanner 对象用于从控制台读取输入
        Scanner sc = new Scanner(System.in);
        // 读取一个整数 n，表示数组的长度
        int n = sc.nextInt();
        // 创建一个长度为 n 的整数数组 a
        int[] a = new int[n];
        // 循环 n 次，从控制台读取 n 个整数并存入数组 a 中
        for (int i = 0; i < n; i++) {
            a[i] = sc.nextInt();
        }
        // 外层循环，用于控制比较的轮数
        for (int i = 0; i < n - 1; i++) {
            // 假设当前未排序部分的最小元素的索引为 i
            int k = i;
            // 内层循环，用于找出未排序部分的最小元素的索引
            for (int j = i + 1; j < n; j++) {
                // 如果找到比当前最小元素还小的元素，更新最小元素的索引 k
                if (a[j] < a[k]) k = j;
            }
            // 如果最小元素的索引不是 i，交换元素位置
            if (k != i) {
                int t = a[i];
                a[i] = a[k];
                a[k] = t;
            }
        }
        // 遍历排序好的数组 a 并输出元素，元素之间用空格分隔
        for (int x : a) {
            System.out.print(x + " ");
        }
    }
}
